package com.io.testIO;

import cn.hutool.core.io.FileTypeUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Console;

import java.io.File;
import java.io.FileInputStream;

/**
 * @author keyer
 * @Description : 描述
 * Created by cyd on 2021-04-14 11:54:44
 */
public class TestFilTypeUtil {

    public static void test01() {
        File file = FileUtil.file("d:/1.jpg");
        String type = FileTypeUtil.getType(file);
        //输出 jpg则说明确实为jpg文件
        Console.log(type);
    }

    public static void test02() {
        File file = FileUtil.file("d:/hello2.cyd");
        String type = FileTypeUtil.getType(file);
        //输出 jpg则说明确实为jpg文件
        Console.log(type);
    }

    public static void test03(String path) {
        File file = FileUtil.file(path);
        FileInputStream in = IoUtil.toStream(file);
        String str = IoUtil.readHex28Upper(in);
        Console.log(str);
    }

    public static void test04(String path) {
        FileUtil.copy(path, path + "1", true);
    }

    /**
     * 测试发现：
     * 1.文本文件没有文件头,如果是个空文件，二进制信息为一串0
     * 2.其他文件都有文件头
     * 3.修改其他文件的后缀信息，文件头不变
     */
    public static void test05() {
        test03("d:/hello2.txt");
        test03("d:/hello2.cyd");
        test04("d:/hello2.cyd");
        test03("d:/hello2.cyd1");
        Console.log("---------------------------------");
        test03("d:/1.jpg");
        test03("d:/1.png");
        Console.log("---------------------------------");
        test03("d:/test.doc");
        test03("d:/test.cyd");
    }

    public static void main(String[] args) {
        test02();
    }
}
